package com.thinvent.recommend.mapper;

import com.thinvent.recommend.entity.KbFileInfo;
import com.thinvent.recommend.mapper.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

public interface KbFileInfoMapper extends BaseMapper<KbFileInfo, String> {

    /**
     * 分页查询所有未删除的文件
     * @param offset 起始偏移
     * @param limit  返回记录数
     */
    List<KbFileInfo> selectAllActive(
            @Param("offset") int offset,
            @Param("limit")  int limit
    );

    /**
     * 查询所有未删除的文件总数
     */
    long countAllActive();

    /**
     * 分页查询——仅返回 update_time 在 [startTime, endTime] 区间内的“活跃”记录
     */
    List<KbFileInfo> selectActiveByTime(
            @Param("offset")    int offset,
            @Param("limit")     int limit,
            @Param("startTime") LocalDateTime startTime,
            @Param("endTime")   LocalDateTime endTime
    );

    /**
     * 统计——仅统计 update_time 在 [startTime, endTime] 区间内的“活跃”记录数
     */
    long countActiveByTime(
            @Param("startTime") LocalDateTime startTime,
            @Param("endTime")   LocalDateTime endTime
    );

}
